Systems can comprise states and as systems operate they can be considered transitioning through a series of states. Such systems include operational IT systems, utility systems, sensor systems and other systems comprising one or more components. Operational IT systems, for example, produce state information of the system's components through machine-generated plain text logs. These logs contain valuable information useful for system monitoring, debugging and improvement. These machine logs can provide information that can be used to determine a state of a machine. Utility grids and sensor systems can include components that continuously or intermittently provide information associated with their current operational status i.e. states. This information can be combined. The combined information associated with individual or clusters of components can provide information about the state of the entire machine.
In the case of machine logs, they are often generated by explicit instructions in source code of system components encoded by the developer in a piece of software governing the working of that component. Hence each log-line can be tracked to a PRINT or equivalent statement in underlying source code, which is a reflection of flow of control and order of execution of code. This information may be labeled as a system ‘state’.